From bc900b5d1ca268b20209288b6d2f9f0d1720b5cd Mon Sep 17 00:00:00 2001 From: Paul Donald Date: Mon, 27 Oct 2025 16:50:58 +0100 Subject: [PATCH] luci-mod-status: DHCP; properly handle lease creation with DUID & IAID Closes #8041 Signed-off-by: Paul Donald --- .../resources/view/status/include/40_dhcp.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js index aa03bb9ef2..8e25622d58 100644 --- a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js +++ b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js @@ -51,12 +51,14 @@ return baseclass.extend({ ev.currentTarget.disabled = true; ev.currentTarget.blur(); - var cfg = uci.add('dhcp', 'host'), - ip6arr = lease.ip6addrs[0] ? validation.parseIPv6(lease.ip6addrs[0].replace(/\/128$/,'')) : null, - duid_iaid = lease.duid.toUpperCase(); - - if (lease.iaid) - duid_iaid += '%' + lease.iaid; + const cfg = uci.add('dhcp', 'host'); + const ip6addr = lease.ip6addrs?.[0]?.replace(/\/128$/, ''); + const ip6arr = ip6addr ? validation.parseIPv6(ip6addr) : null; + + // Combine DUID and IAID if both available + let duid_iaid = lease.duid ? lease.duid.toUpperCase() : null; + if (duid_iaid && lease.iaid) + duid_iaid += `%${lease.iaid}`; uci.set('dhcp', cfg, 'name', lease.hostname); uci.set('dhcp', cfg, 'duid', duid_iaid); -- 2.30.2